function fn<K>(a:K):K{
  return a    //返回值也是参数a的类型
}
fn(10)//不指定类型
fn<string>('hello')//指定为string类型
//=====================================
function fn2<K,T>(a:K,b:T):T{
  return b    //返回值也是参数a的类型
}
fn2(10,'hello')//不指定类型
fn2<number,string>(6,'hello')//指定为string类型
//=====================================
interface Inter{
  length:number
}
//T是一个Inter的实现类
function fn3<T extends Inter>(a:T):number{
  return a.length
}
